DB17-wjdDB17-w
DB17-j
DB17-d
DB17
DB17
DB17, DB17-jwd
DB17-wjd (TTIC)DB17-w
DB17-j
DB17-d
rviz
DB17-lc Duckiebot configurations
ssh-keygen
rqt_console
roslaunch
rviz
rostopic
catkin_make
rosrun
rostest
rospack
rosparam
rosdep
roswtf
rosbag
roscore
pkg_name
duckieteam
duckietown
duckietown_msgs
easy_algo
easy_logsdownload
easy_nodeeasy_node API
easy_node: the userβs point of view
easy_regression
what_the_duck
Liam
This document describes the Duckietown specification. Any Duckietown not adhering to the rules described here cannot call itself a βDuckietownβ, since it is not one. Additionally, any Duckietown not adhering to these rules may cause the Duckiebots to fail in unexpected ways. These are a set of rules for which a functional system has been verified.
Note here the changes to the specification, so that we are able to keep in sync the different Duckietowns.
Version 1.0 - used for MIT 2.166
Version 2.0 - current version
Duckietown is built with two layers:
the visual appearance of the area where the Duckietown is created is variable. If you discover that this appearance is causing negative performance, a βwallβ of blank tiles constructed vertically can be used to reduce visual clutter.
Each tile is a 2 ft x 2 ft square and is able to interlock with the others.
There are five primary types of tiles, as shown in Figure 2.1
There are 3 colors of tapes: white, yellow, and red.
A Duckiebot never collides with Duckietown if it never crosses or touches a white tape strip.
Here are some facts about the white tapes:
White tapes must be solid (not dashed)
The width of the white tape is 1 inch.
The white tape is always placed on the right hand side of a lane. We assume that the Duckiebots drive on the right hand side of the road.
On a two-way road, the yellow tape should be dashed. Each piece should have a length of approximately 2 in with a 1 in gap separating each piece.
Yellow tapes on curves: see curved road image in white tape section, pieces at tile edges should be in center of lane, piece at the middle of the curve should be approximately 20.5 cm from middle of inner center white piece of tape, with approximated circular arc in between.
Red tapes MAY only appear on intersection tiles.
The red tape must be the full width of the duck tape roll and should cross the entire lane perpendicular to the lane.
what is the width of the roll? 1 in? - AC
Red and White rolls have a 2 inch thickness. Yellow is 1 inch wide. -JT
The placement of red tape should always be under yellow and white tape.
A Duckiebot navigates Duckietown by a sequence of:
The guarantee is:
If the Duckiebot stops before or ON the red strip, no collisions are possible.
Here are some topological rule constraints that must be met:
An intersection can NOT be adjacent to a curved road tile or another intersection tile.
Any two adjacent non-empty tiles must have a feasible path from one to the other of length two: if they are adjacent, they must be connected.
Some examples of non-conforming topologies are shown in Figure 2.3.
An experimental new development.
A parking lot is a place for Duckiebots to go when they are tired and need a rest.
A parking lot introduces three additional tile types:
the tape on the spot and spot access tiles is currently not yet specified.
The following are the rules for a conforming parking lot:
this point needs further specification
Experimental
A βlaunch tileβ is used to introduce a new Duckiebot into Duckietown in a controllable way. The launch file should be placed adjacent to a turn tile so that a Duckiebot may βmergeβ into Duckietown once the initialization procedure is complete.
Specification for tape on the launch tile
A βyieldβ sign should be visible from the launch tile.
IMPORTANT: All signage should sit with base on the floor and stem coming through the connection between the tiles. Generally, it is advisable to adhere the sign to the floor with double-sided tape. Under no circumstances should the white (any other tape) be obscured.
To print and assemble the signs refer to Unit D-3 - Signage.
Center of signs are 13 cm height with apriltags of 6.5 cm sq. and a white border pasted below them.
The allowable traffic signs are as in Figure 2.4.
Signs may appear on the opposite side and at the corner of the adjacent tile from which they are viewed. In the absence of any signs, it is assumed that all network flows are allowed so a sign MUST be placed and visible whenever this is not the case.
Signs must only be placed on empty tiles, or next to one of the other tile types if on the border of a map. The sign placements for four different cases are shown in Figure 2.5. At intersections, from each stop line 2 signs should be clearly visible: 1) the intersection type (traffic light or stop sign) and 2) the intersection topology.
At present, 4-way intersections must be equipped with traffic lights for safe navigation.
On straight and curved roads, additional signs can be added as desired. Their placement is indicated in Figure 2.5c - straight road and Figure 2.5d - curved road. The signs should be placed at the border between two tiles and should face towards oncoming traffic as indicated.
In these figures the arrow is the direction of the sign.
Font: arial.
Color: Perhaps we could start with real-world settings: white as foreground and green as background.
Border: currently no additional borders
The rounded corners are modified into 90 degrees.
Height: sign board height is 1.5 in. (2.1 in),
Width: Currently 4.5 in for id 500-511. (6.1 in +1.1 in βSTβ or 5.5 in + 1.7 in βAVEβ)
Alphabet = English upper case. Different writing systems may need different algorithms.
Text direction: Horizontal for alphabetical languages
Every segment of road must have at least one road name sign.
Every turn tile should have a road name sign.
The placement of the road name signs is as indicated in Figure 2.6.
Street name signs should never be perpendicular to the road - they are too big and obtrusive.
The assembly procedure for building the a traffic light is found in Unit D-5 - Traffic lights Assembly
towrite
The lights must be at a height of exactly 20 cm above the center of the intersection tile.
The Raspberry Pi should sit on a pole that is based at the corner of the tile outside of the allowable driving region.
comment
this should be part of the βtraffic rulesβ sections.